Cookie 知识点
什么是 Cookie?
Cookie 是一些数据, 存储于你电脑上的文本文件中。
当 web 服务器向浏览器发送 web 页面时,在连接关闭后,服务端不会记录用户的信息。
Cookie 的作用就是用于解决 "如何记录客户端的用户信息":
当用户访问 web 页面时,他的名字可以记录在 cookie 中。 在用户下一次访问该页面时,可以在 cookie 中读取用户访问记录。
Cookie 属性
| 属性名 | 属性说明 |
|---|---|
| maxAge | Cookie 有效期,单位秒。如果为整数,则该 Cookie 在 maxAge 秒后失效。如果为负数,该 Cookie 为临时 Cookie,关闭浏览器即失效,浏览器也不会以任何形式保存该 Cookie。如果为 0,表示删除该 Cookie。默认为-1 |
| Expires | Cookie 的失效时间,如果 Cookie 没有设置过期时间,那么 cookie 的生命周期只是在当前的会话中,关闭浏览器意味着这次会话的结束,此时 cookie 随之失效, 现在已经被 maxAge 属性所取代 |
| secure | 它是一个布尔值,指定在网络上如何传输 Cookie,默认为 false,通过一个普通的 http 连接传输,标记为 true 的 Cookie 只应通过被 HTTPS 协议加密过的请求发送给服务端 |
| path | Cookie 的使用路径,path 标识指定了主机下的哪些路径可以接受 Cookie(该 URL 路径必须存在于请求 URL 中), 例如:如果设置为“/sessionWeb/”,则只有 contextPath 为“/sessionWeb”的程序可以访问该 Cookie,如果设置为“/”,则本域名下 contextPath 都可以访问该 Cookie。注意最后一个字符必须为“/” |
| domain | domain 标识指定了哪些主机可以访问该 Cookie 的域名。如果设置为“.google.com”,则所有以“google.com”结尾的域名都可以访问该 Cookie。注意第一个字符必须为“.” |
Cookie 跨域共享
- Cookie 跨域共享主要需要用到 domain 属性,标识可使用该 Cookie 的域名
例:
document.cookie = "demo=test;path=/;domain=.demo.com";
Powered by Waline v2.15.8